package com.zmn.oms.third.core.interfaces;

import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.bo.order.OrderBO;

/**
 * 类描述：录单后处理器，用于保存渠道扩展数据
 *
 * @author lhl
 * @date 2021/01/19 20:23
 */
public interface AfterCreateOrderHandler {

    /**
     * 本方法在录单逻辑执行成功后会被调用，且与录单逻辑在同一个事务中。本方法如果抛出异常，则录单逻辑亦不成功。
     *  即：订单信息存入数据库逻辑执行完，没有报错，且事务提交前，本方法会被执行。
     * @param orderBO
     * @throws OmsBaseException
     */
    void apply(OrderBO orderBO) throws OmsBaseException;
}
